home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
gnu
/
nethack.lha
/
nethack-3.1
/
include
/
permonst.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-17
|
2KB
|
72 lines
/* SCCS Id: @(#)permonst.h 3.1 92/11/21 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
#ifndef PERMONST_H
#define PERMONST_H
/* This structure covers all attack forms.
* aatyp is the gross attack type (eg. claw, bite, breath, ...)
* adtyp is the damage type (eg. physical, fire, cold, spell, ...)
* damn is the number of hit dice of damage from the attack.
* damd is the number of sides on each die.
*
* Some attacks can do no points of damage. Additionally, some can
* have special effects *and* do damage as well. If damn and damd
* are set, they may have a special meaning. For example, if set
* for a blinding attack, they determine the amount of time blinded.
*/
struct attack {
uchar aatyp;
uchar adtyp, damn, damd;
};
/* Max # of attacks for any given monster.
*/
#define NATTK 6
/* Weight of a human body
*/
#define WT_HUMAN 1450
#include "monattk.h"
#include "monflag.h"
#ifndef ALIGN_H
#include "align.h"
#endif
struct permonst {
const char *mname; /* full name */
char mlet; /* symbol */
schar mlevel, /* base monster level */
mmove, /* move speed */
ac, /* (base) armor class */
mr; /* (base) magic resistance */
aligntyp maligntyp; /* basic monster alignment */
unsigned geno; /* creation/geno mask value */
struct attack mattk[NATTK]; /* attacks matrix */
unsigned short cwt, /* weight of corpse */
cnutrit; /* its nutritional value */
short pxlth; /* length of extension */
uchar msound; /* noise it makes (6 bits) */
uchar msize; /* physical size (3 bits) */
uchar mresists; /* resistances */
uchar mconveys; /* conveyed by eating */
long mflags1, /* boolean bitflags */
mflags2; /* more boolean bitflags */
uchar mflags3; /* yet more boolean bitflags */
# ifdef TEXTCOLOR
uchar mcolor; /* color to use */
# endif
};
extern struct permonst
NEARDATA mons[]; /* the master list of monster types */
extern struct permonst NEARDATA playermon, NEARDATA *uasmon;
/* you in the same terms */
#endif /* PERMONST_H */